package com.tanhua.dubbo.server.api;

import com.tanhua.dubbo.server.pojo.Question;
import com.tanhua.dubbo.server.pojo.Report;
import com.tanhua.dubbo.server.pojo.Soul;
import org.bson.types.ObjectId;

import java.util.List;

public interface SoulApi {

    /**
     * 测灵魂-问卷列表
     */
    List<Soul> querySoulList(Long userId);

    /**
     * 测灵魂-问卷列表-题目及选项
     */
    List<Question> queryQuestionList(List<ObjectId> questionIds);

    /**
     * 测灵魂-问卷列表-保存结果
     */
    String saveReport(Report report);

    /**
     * 测灵魂-问卷列表-查询结果
     */
    Report queryReport(String reportId);

    /**
     * 根据 测试题的 id 去查 结果的 id
     */
    String queryReportId(String soulId);

    /**
     * 根据 题目id 查询题目
     */
    Question queryQuestion(String questionId);

    /**
     * 通过题目 id 和userId 拿到 对应的问卷id
     */
    String querySoulId(String level, Long userId);

    /**
     * 查询与你类型相同的人
     */
    List<Report> querySimilarYou(Report report);

    /**
     * 根据type获取题目
     */
    List<Question> queryQuestions(Integer type);

    /**
     * 保存 soul
     */
    String saveSoul(Soul soul);
}
